﻿using System.Collections.Generic;
using FluorineFx;
using Neturion.Dados;
using Neturion.Fachadas;

namespace Neturion.Servicos
{
    [RemotingService]
    public class ServicoCidade
    {
        public Cidade Inserir(Cidade cidade, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Inserir(cidade, usuarioPermissao);
        }

        public Cidade Atualizar(Cidade cidade, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Atualizar(cidade, usuarioPermissao);
        }

        public void Excluir(Cidade cidade, Usuario usuarioPermissao)
        {
            Fachada.GetInstancia().Excluir(cidade, usuarioPermissao);
        }

        public Cidade ObterCidadePorId(int id, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterCidadePorId(id, usuarioPermissao);
        }

        public IList<Cidade> ObterTodosCidades(Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTodosCidades(usuarioPermissao);
        }

        public IList<Cidade> ObterTodasCidadesPorEstado(Usuario usuarioPermissao, UnidadeFederativa unidadeFederativa)
        {
            return Fachada.GetInstancia().ObterTodasCidadesPorEstado(usuarioPermissao, unidadeFederativa);
        }

        public Cidade ObterCidadePorCodigo(string codigo, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterCidadePorCodigo(codigo, usuarioPermissao);
        }

        public IList<Cidade> ObterCidadesPorCodigoeEstado( Usuario usuarioPermissao, string codigo, UnidadeFederativa unidadeFederativa)
        {
            return Fachada.GetInstancia().ObterCidadesPorCodigoeEstado(usuarioPermissao, codigo, unidadeFederativa);
        }
    }
}